Image Forming Apparatus

ABSTRACT

An image forming apparatus of the present disclosure includes a first processing unit; a second processing unit configured to perform a process different from a process performed by the first processing unit; and a non volatile memory device in which a shared root file system has been stored, the shared root file system mounted by a kernel for the first processing unit and a kernel for the second processing unit.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application relates to and claims priority rights from JapanesePatent Applications: No. 2011-285146, filed on Dec. 27, 2011, No.2011-285147, filed on Dec. 27, 2011, and No. 2012-145815, filed on Jun.28, 2012, the entire disclosures of which are hereby incorporated byreference herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to image forming apparatuses.

2. Description of the Related Art

An image forming apparatus includes a main system and a panel systemwhich controls an operation panel. The main system and the panel systemperform different processes, respectively, and are connected to eachother by communication interfaces and so forth.

In systems independent of each other like those of the aforementionedimage forming apparatus, in general, the systems start respectivekernels of operating systems, and mount respective file systems. FIG. 8shows a flowchart which explains a starting process of an image formingapparatus.

As shown in FIG. 8, for Processors #1 and #2 of two systems, respectivekernels and root file systems have been stored in a flash memory. Theroot file system for Processor #1 includes data and/or a program to beused by Processor #1, and the root file system for Processor #2 includesdata and/or a program to be used by Processor #2.

In the starting process of the image forming apparatus, for Processors#1 and #2, respective kernels are loaded and started (Steps S101 andS111). The kernels of Processors #1 and #2 mount root file systems,respectively (Steps S102 and S112).

In the case that plural systems are used as mentioned above, for thesystems, it is required that respective kernels and respective root filesystems has been stored in a flash memory, and therefore, a large memoryarea is required to the flash memory.

SUMMARY OF THE INVENTION

An image forming apparatus according to an aspect of the presentdisclosure includes a first processing unit; a second processing unitconfigured to perform a process different from a process performed bythe first processing unit; and a non volatile memory device in which ashared root file system has been stored, the shared root file systemmounted by a kernel for the first processing unit and a kernel for thesecond processing unit.

Therefore, since one root file system is shared, the size of a memoryarea required to the non volatile memory device is small.

These and other objects, features and advantages of the presentinvention will become more apparent upon reading of the followingdetailed description along with the accompanied drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram which indicates a configuration of an imageforming apparatus according to Embodiment 1 of the present disclose;

FIG. 2 shows a diagram which indicates an example of memory areas of theflash memory shown in FIG. 1;

FIG. 3 shows a flowchart that indicates processes performed with a partof a program which is included in a root file system shown in FIG. 2 andis to perform different processes from each other in a panel system anda main system;

FIG. 4 shows a flowchart that explains a behavior of the image formingapparatus in a starting process in Embodiment 1;

FIG. 5 shows a diagram which indicates an example of memory areasallocated in a DRAM in Embodiment 2;

FIG. 6 shows a flowchart that explains a behavior of the image formingapparatus in a starting process in Embodiment 2;

FIG. 7 shows a diagram which indicates another example of memory areasallocated in a DRAM in Embodiment 2; and

FIG. 8 shows a flowchart that explains a behavior of an image formingapparatus in a starting process.

DETAILED DESCRIPTION

Hereinafter, embodiments according to aspects of the present disclosurewill be explained with reference to drawings.

Embodiment 1

FIG. 1 shows a block diagram which indicates a configuration of an imageforming apparatus according to Embodiment 1 of the present disclose. Thepresent image forming apparatus includes a processor 1, a flash memory2, a DRAM (Dynamic Random Access Memory) 3, a controller 4, an imageprocessing device 5, a printing device 6, and an operation panel 7.

The processor 1 is a multiple core processor, and includes plural cores11 a and 11 b, a local bus controller 12, a DRAM controller 13, and aPCIe controller 14.

The plural cores 11 a and 11 b are respective processing units whichhave the same circuit configuration, and execute programs in the flashmemory 2 and programs loaded to the DRAM 3.

Further, in Embodiment 1, the core 11 a performs a boot loader to starta kernel of the core 11 a and a kernel of the core 11 b. For instance, asame version of Linux (trademark) is used as these kernels.

The core 11 b performs a job management process, and the core 11 aperforms a predetermined process other than the job management process.In Embodiment 1, the core 11 a is used for a panel system to control theoperation panel 7, and the core 11 b is used for a main system toperform job management and so forth.

The local bus controller 12 performs data communication with the flashmemory 2 and so forth connected to a local bus.

The DRAM controller 13 performs data read and data write of the DRAM 3.

The PCIe controller 14 performs data communication with the controller 4using a PCIe (Peripheral Component Interconnect Express) interface.

The system bus 15 is a data communication path which mutually connectsthe cores 11 a and 11 b and the controllers 12 to 14.

Further, the flash memory 2 is a non volatile memory device in whichdata and/or a program to be used by the plural cores 11 a and 11 b havebeen stored. For instance, the flash memory 2 is a NAND type flashmemory.

FIG. 2 shows a diagram which indicates an example of memory areas of theflash memory 2 shown in FIG. 1.

In the flash memory 2, a program of a kernel (i.e. an operating system)for the core 11 a and a program of a kernel (i.e. an operating system)for the core 11 b have been stored.

Further, in the flash memory 2, a shared root file system to be mountedboth by the kernel of the core 11 a and by the kernel of the core 11 bhas been stored.

This root file system includes a binary program, a standard library, ascript, and so forth. This root file system does not include any dataand/or any programs to be rewritten by the cores 11 a and 11 b. In otherwords, this root file system includes only read-only data and/or aread-only program. Therefore, this root file system is a read-only filesystem such as cramfs or squashfs. Consequently, a write access to theroot file system is prohibited, and a content of the root file system isprotected.

Further, the flash memory 2 includes (a) a panel program area in whichdata and/or a program to be rewritten by the core 11 a have been storedand (b) a main program area in which data and/or a program to berewritten by the core 11 b have been stored. The panel program area ismounted by the kernel of the core 11 a, and the main program area ismounted by the kernel of the core 11 b.

FIG. 3 shows a flowchart that indicates processes performed with a partof a program which is included in the root file system shown in FIG. 2and is to perform different processes from each other in a panel systemand a main system. Such program is described to acquire an ID of aprocessing unit that is executing this program, and to perform a processcorresponding to the acquired ID. Therefore, different processes can beperformed in the respective systems.

In Embodiment 1, when the core ID of the core 11 a is zero, and the coreID of the core 11 b is 1, the core ID of a processing unit which isexecuting this program is acquired (Step S1), and it is determinedwhether the acquired core ID is zero or not (Step S2); if the acquiredcore ID is zero then a process for the panel system is performed (StepS3), and if the acquired core ID is 1 then a process for the main systemis performed (Step S4).

Further, the DRAM 3 is a volatile memory to which data and/or a programare loaded to be used by the cores 11 a and 11 b. The DRAM 3 can performdata read and data write faster than those of the flash memory 2.

The controller 4 is a circuit which controls peripheral devices of theprocessor 1 such as the image processing device 5 and the operationpanel 7. The controller 4 includes a PCIe interface 21, a videocontroller 22, and a panel controller 23. The PCIe interface 21 performsdata communication with the PCIe controller 14 of the processor 1. Thevideo controller 22 performs printing by controlling the imageprocessing device 5 and the printing device 6. The panel controller 23controls the operation panel 7 to display information based on datasupplied from the processor 1 and to supply information of a useroperation to the operation panel 7. Therefore, in the panel system, thecore 11 a controls the operation panel 7 using the panel controller 23;and in the main system, the core 11 b controls the image processingdevice 5 and the printing device 6 using the video controller 22.

The image processing device 5 generates print image data to be suppliedto the printing device 6 from image data generated by an unshown imagescanning device, image data supplied from an unshown host device, and soforth. The printing device 6 prints an image based on the print imagedata generated by the image processing device 5, for example, in amanner of an electrophotography.

The operation panel 7 is disposed a surface of a housing of this imageforming apparatus, and includes a display device which displaysinformation to a user and an input device which detects a useroperation. For example, the display device is a liquid crystal display,an indicator and so forth, and the input device is a touch panel, abutton switch and so forth.

In the following part, a behavior of the image forming apparatus in astarting process in Embodiment 1 is explained. FIG. 4 shows a flowchartthat explains a behavior of the image forming apparatus in a startingprocess in Embodiment 1.

At first, the core 11 a starts an unshown boot loader stored in apredetermined memory area, for example, in the flash memory 2 (StepS11).

The core 11 a starts the kernel of the core 11 a and the kernel of thecore 11 b using the boot loader (Steps S12 and S22).

Consequently, the cores 11 a and 11 b operate in accordance with therespective kernels.

The core 11 a mounts the root file system in accordance with the kernel(Step S13). Afterward, the core 11 a mounts a panel program area to apredetermined lower directory such as /usr/local in accordance with thekernel (Step S14).

On the other hand, the core 11 b mounts the root file system inaccordance with the kernel (Step S23). Afterward, the core 11 b mounts amain program area to a predetermined lower directory such as /usr/localin accordance with the kernel (Step S24).

In the aforementioned manner, the root file system in the flash memory 2is accessed (read only) by both the cores 11 a and 11 b; the panelprogram area in the flash memory 2 is accessed (read and write) by onlythe core 11 a among the cores 11 a and 11 b; and the main program areain the flash memory 2 is accessed (read and write) by only the core 11 bamong the cores 11 a and 11 b.

In the aforementioned Embodiment 1, the image forming apparatus includes(a) the processor 1 including the plural cores 11 a and 11 b, and (b)the flash memory 2 in which the shared file system to be mounted by boththe kernel of the core 11 a and the kernel of the core 11 b has beenstored.

Therefore, since one root file system is shared, the size of a memoryarea required to the flash memory 2 is small.

Embodiment 2

The image forming apparatus in Embodiment 2 of this disclosure includesa hardware configuration similar to that of the image forming apparatusin Embodiment 1. In Embodiment 2, the core 11a loads the root filesystem to the DRAM 3, and mounts the root file system loaded to the DRAM3; and the core 11 b does not load the root file system to the DRAM 3,and mounts the root file system loaded by the core 11 a to the DRAM 3.

FIG. 5 shows a diagram which indicates an example of memory areasallocated in the DRAM 3 in Embodiment 2.

As shown in FIG. 5, in Embodiment 2, the root file system is loaded toan outside area of areas managed by the kernel of the core 11 a and thekernel of the core 11 b in the DRAM 3; and the kernels of the cores 11 aand 11 b manage the memory area where the root file system was loaded asa memory block device. This memory block device is, for example, an MTD(Memory Technology Device) device.

Specifically, the core 11 a loads the root file system to an outsidearea of areas managed by the kernels of the cores 11 a and 11 b in theDRAM 3 using a boot loader, and then starts the kernel of the core 11 aand the kernel of the core 11 b.

In the following part, a behavior of the image forming apparatus in astarting process in Embodiment 2 is explained. FIG. 6 shows a flowchartthat explains a behavior of the image forming apparatus in a startingprocess in Embodiment 2.

At first, the core 11 a starts an unshown boot loader stored in apredetermined memory area, for example, in the flash memory 2 (StepS31). For instance, u-boot is used as this boot loader.

The core 11 a loads the root file system from the flash memory 2 to apredetermined physical address area in the DRAM 3 in accordance with theboot loader (Step S32).

The core 11 a starts the kernel of the core 11 a and the kernel of thecore 11 b in accordance with the boot loader (Steps S33 and S43).

Consequently, the cores 11 a and 11 b operates in accordance with therespective kernels.

The core 11 a performs mapping the physical address area where the rootfile system was loaded to a logical address area, for example, usingio_remap function in accordance with the kernel (Step S34), andgenerates and registers a memory block device (here, an MTD device) ofthis area (Step S35). The core 11 a mounts the memory block device (i.e.the root file system) in accordance with the kernel (Step S36).Afterward, the core 11 a mounts the panel program area to apredetermined lower directory such as /usr/local in accordance with thekernel (Step S37).

On the other hand, the core 11 b performs mapping the physical addressarea where the root file system was loaded to a logical address area,for example, using io_remap function in accordance with the kernel (StepS44), and generates and registers a memory block device (here, an MTDdevice) of this area (Step S45). The core 11 b mounts the memory blockdevice (i.e. the root file system) in accordance with the kernel (StepS46). Afterward, the core 11 b mounts the main program area to apredetermined lower directory such as /usr/local in accordance with thekernel (Step S47).

Information on the position of the physical address area where the rootfile system was loaded (e.g. the top address and the size) is providedto the kernels of the cores 11 a and 11 b from the boot loader when theboot loader starts the kernels. For instance, such information isprovided as a command line parameter of u-boot.

In the aforementioned manner, the root file system loaded in the DRAM 3is accessed by both the cores 11 a and 11 b; the panel program area inthe flash memory 2 is accessed by only the core 11 a among the cores 11a and 11 b; and the main program area in the flash memory 2 is accessedby only the core 11 b among the cores 11 a and 11 b.

Other parts in the configuration of the image forming apparatus inEmbodiment 2 is identical to those in Embodiment 1, and therefore, notexplained here.

In the aforementioned Embodiment 2, the core 11 a loads the root filesystem to the DRAM 3, and mounts the root file system loaded in the DRAM3. Contrary to this, the core 11 b mounts the root file system loaded bythe core 11 a in the DRAM 3.

Therefore, since one root file system is shared, the size of a memoryarea required to the flash memory 2 is small. Further, since the rootfile system loaded in the DRAM 3 is used, data read and data write tothe root file system in the DRAM 3 can be performed faster than those inthe flash memory 2. Furthermore, in Embodiment 2, since this root filesystem includes only read-only data and/or a read-only program, the rootfile system is never changed. Therefore, after finishing using the rootfile system loaded in the DRAM 3, it is not necessary to write the rootfile system from the DRAM 3 back to the flash memory 2.

The description of the present invention has been presented for purposesof illustration and description, and is not intended to be exhaustive orlimited to the invention in the form disclosed.

For example, in Embodiments 1 and 2, the plural processing units areformed by the plural cores 11 a and 11 b included in the processor 1.Alternatively, the plural processing units may be formed by pluralprocessors connected via a bus or the like.

Further, in Embodiments 1 and 2, the core 11 a is used for the panelsystem. Alternatively, the image forming apparatus may includes anetwork interface, and the core 11 a may perform a communication processusing this network interface.

Furthermore, in Embodiments 1 and 2, the memory block device of the rootfile system may be enabled to be in an address area after the areamanaged by the kernel of the core 11 a and/or the area managed by thekernel of the core 11 b. In this case, the kernel managing area and thearea of the memory block device must not be overlapped to each other. Itshould be noted that in general, io_remap function can not map a loweraddress than the top address of the kernel managing area (it results inan error to protect the kernel managing area), and therefore, in thiscase, io_remap function is modified to enable the modified io_remapfunction to map a lower address than the top address of the kernelmanaging area. FIG. 7 shows a diagram which indicates another example ofmemory areas allocated in the DRAM 3 in Embodiment 2. As shown in FIG.7, for example, the memory block device can be allocated in a loweraddress than the kernel managing area of the core 11 b.

Furthermore, in Embodiments 1 and 2, the kernel of the core 11 a maygenerate a RAM disk in the kernel managing area of the core 11 a, loadthe panel program to the RAM disk, and mount the RAM disk instead of thepanel program area included in the flash memory 2. Similarly, the kernelof the core 11 b may generate a RAM disk in the kernel managing area ofthe core 11 a, load the main program to the RAM disk, and mount the RAMdisk instead of the main program area included in the flash memory 2.

It should be understood that various changes and modifications to theembodiments described herein will be apparent to those skilled in theart. Such changes and modifications may be made without departing fromthe spirit and scope of the present subject matter and withoutdiminishing its intended advantages. It is therefore intended that suchchanges and modifications be covered by the appended claims.

What is claimed is:
 1. An image forming apparatus, comprising: a firstprocessing unit; a second processing unit configured to perform aprocess different from a process performed by the first processing unit;and a non volatile memory device in which a shared root file system hasbeen stored, the shared root file system mounted by a kernel for thefirst processing unit and a kernel for the second processing unit. 2.The image forming apparatus according to claim 1, wherein: the sharedroot file system does not include any data and/or any programs to berewritten by the first processing unit and the second processing unit.3. The image forming apparatus according to claim 2, wherein: the nonvolatile memory device comprises a first memory area in which dataand/or a program to be rewritten by the first processing unit have beenstored, and a second memory area in which data and/or a program to berewritten by the second processing unit have been stored; the firstmemory area is configured to be mounted by the kernel of the firstprocessing unit; and the second memory area is configured to be mountedby the kernel of the second processing unit.
 4. The image formingapparatus according to claim 1, wherein: the second processing unit isfurther configured to perform a job management process; and the firstprocessing unit is further configured to perform a predetermined processother than the job management process.
 5. The image forming apparatusaccording to claim 4, further comprising: an operation panel; andwherein the first processing unit is further configured to perform aprocess to control the operation panel.
 6. The image forming apparatusaccording to claim 4, further comprising: a network interface; andwherein the first processing unit is further configured to perform aprocess of data communication using the network interface.
 7. The imageforming apparatus according to claim 1, wherein: the non volatile memorydevice in which the kernels of the first processing unit and the secondprocessing unit have been stored; and one of the first processing unitand the second processing unit is further configured to perform a bootloader to start both the kernel of the first processing unit and thekernel of the second processing unit.
 8. The image forming apparatusaccording to claim 1, further comprising: a volatile memory; and whereinthe first processing unit is further configured to load the shared rootfile system to the volatile memory and to mount the shared root filesystem loaded to the volatile memory; and the second processing unit isfurther configured to mount the shared root file system loaded by thefirst processing unit to the volatile memory.
 9. The image formingapparatus according to claim 8, wherein: the shared root file system isfurther configured to be loaded to an outside area of areas managed bythe kernel of the first processing unit and the kernel of the secondprocessing unit in the volatile memory.
 10. The image forming apparatusaccording to claim 9, wherein: one of the first processing unit and thesecond processing unit is configured to load the shared root file systemto an outside area of areas managed by the kernel of the firstprocessing unit and the kernel of the second processing unit in thevolatile memory, and to start the kernel of the first processing unitand the kernel of the second processing unit after loading the sharedroot file system.
 11. The image forming apparatus according to claim 9,wherein: the first processing unit and the second processing unit arefurther configured to manage a memory area where the shared root filesystem was loaded as a memory block device.
 12. The image formingapparatus according to claim 11, wherein: one of the first processingunit and the second processing unit is configured to load the sharedroot file system to an outside area of areas managed by the kernel ofthe first processing unit and the kernel of the second processing unitin the volatile memory using a boot loader, and to start the kernel ofthe first processing unit and the kernel of the second processing unitafter loading the shared root file system.
 13. The image formingapparatus according to claim 11, wherein: the memory block device of theshared root file system is configured to be enabled to be in an addressarea after the area managed by the kernel of the first processing unitand/or the area managed by the kernel of the second processing unit. 14.The image forming apparatus according to claim 12, wherein: the memoryblock device of the shared root file system is configured to be enabledto be in an address area after the area managed by the kernel of thefirst processing unit and/or the area managed by the kernel of thesecond processing unit.
 15. The image forming apparatus according toclaim 11, wherein: the memory block device is an MTD device.
 16. Theimage forming apparatus according to claim 1, wherein: a program in theshared root file system is described to acquire an ID of a processingunit that is executing this program, and to perform a processcorresponding to the acquired ID.
 17. The image forming apparatusaccording to claim 1, further comprising: a multiple core processor; andwherein the first processing unit and the second processing unit are anytwo of plural cores in the multiple core processor.
 18. The imageforming apparatus according to claim 1, wherein: the non volatile memorydevice is a flash memory.